// pages/navigation/navigation.js
const locationUtil = require('../../utils/location')

Page({
  data: {
    sessionId: null,
    currentLocation: null,
    route: null,
    isPlaying: false,
    hasLocationPermission: false
  },

  onLoad(options) {
    // TODO: Implement in task 12
    console.log('导航页面初始化')
    
    // 检查位置权限
    this.checkLocationPermission()
  },

  /**
   * 检查位置权限
   * 需求 4.2, 4.4: 根据权限状态启用或禁用功能
   */
  async checkLocationPermission() {
    try {
      const result = await locationUtil.checkLocationPermission()
      
      this.setData({
        hasLocationPermission: result.hasPermission
      })

      if (!result.hasPermission) {
        // 需求 4.4: 没有权限，提示用户并返回
        wx.showModal({
          title: '需要位置权限',
          content: '导航功能需要获取您的位置信息，请先授予位置权限。',
          confirmText: '去授权',
          cancelText: '返回',
          success: (res) => {
            if (res.confirm) {
              wx.navigateTo({
                url: '/pages/permission-guide/permission-guide?returnUrl=' + 
                     encodeURIComponent('/pages/navigation/navigation')
              })
            } else {
              wx.navigateBack()
            }
          }
        })
      }
    } catch (err) {
      console.error('检查权限失败:', err)
    }
  },

  onUnload() {
    // 需求 4.5: 页面卸载时停止位置追踪
    if (locationUtil.isLocationTracking()) {
      locationUtil.stopLocationTracking()
    }
  }
})
